package com.yanqu.road.logic.bussiness.servercenter;

import com.yanqu.road.entity.activity.*;
import com.yanqu.road.entity.activity.cookboy.CookBoyConfig;
import com.yanqu.road.entity.activity.cookboy.CookBoyFoodConfig;
import com.yanqu.road.entity.activity.cookboy.process2.CookBoy2DishConfig;
import com.yanqu.road.entity.activity.drawPictures.PicturesComb;
import com.yanqu.road.entity.activity.drawPictures.PicturesWeight;
import com.yanqu.road.entity.activity.snowgarden.config.SnowGardenBuyConfig;
import com.yanqu.road.entity.enums.eActivityType;
import com.yanqu.road.entity.estatewar.palace.PalaceFloorConfig;
import com.yanqu.road.entity.activity.treasure.TreasureActivityPlace;
import com.yanqu.road.entity.crossorewar.CrossOreStationInfo;
import com.yanqu.road.entity.activity.holiday.ActivityCatMerge;
import com.yanqu.road.entity.orewar.OreStationInfo;
import com.yanqu.road.logic.bussiness.DaoHelper;
import com.yanqu.road.entity.config.goods.MallInfo;

import java.util.List;
import java.util.Map;
import java.util.Set;

public class ActivityBussiness {

	public static Map<Integer,ActivityInfo> getAllRunningActivityInfoMap(){
		return DaoHelper.getActivityDaoImpl().getAllRunningActivityInfoMap();
	}

	public static ActivityInfo getActivityInfoByActivityId(int activityId){
		return DaoHelper.getActivityDaoImpl().getActivityInfoByActivityId(activityId);
	}

	public static Map<Integer, ActivityInfo> getActivityInfoMap(long serverId) {
		return DaoHelper.getActivityDaoImpl().getActivityInfoMap(serverId);
	}

	public static Map<Integer, ActivityInfo> getActivityInfoMap(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getActivityInfoMap(activityIdList);
	}

	public static Map<Integer, ActivityInfo> getActivityInfoMap(List<Integer> activityIdList, long serverId) {
		return DaoHelper.getActivityDaoImpl().getActivityInfoMap(activityIdList, serverId);
	}

	public static void getActivityConditionInfoMap(Map<Integer, Map<Integer, List<ActivityConditionInfo>>> activityConditionInfoTypeMap,
			Map<Integer, List<ActivityConditionInfo>> activityConditionInfoMap, List<Integer> activityIdList) {
		DaoHelper.getActivityDaoImpl().getActivityConditionInfoMap(activityConditionInfoTypeMap, activityConditionInfoMap, activityIdList);
	}

	public static Map<Integer, Map<Integer, MallInfo>> getActivityMallInfoMap(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getActivityMallInfoMap(activityIdList);
	}

	public static Map<Integer, Map<String, ActivityConfig>> getActivityConfigMap(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getActivityConfigMap(activityIdList);
	}

	public static Map<Integer, ActivityInfo> getOpenCrossRankActivityInfoMap(List<Integer> activityTypeList, String selectTimeStr) {
		return DaoHelper.getActivityDaoImpl().getOpenCrossRankActivityInfoMap(activityTypeList, selectTimeStr);
	}

	public static Map<Integer, ActivityInfo> getNoEndActivityInfoMap(List<Integer> activityTypeList, String selectTimeStr) {
		return DaoHelper.getActivityDaoImpl().getNoEndActivityInfoMap(activityTypeList, selectTimeStr);
	}

	public static Map<Integer, ActivityInfo> getRMBMallActivityInfoMap(List<Integer> activityTypeList, long serverId, String selectTimeStr) {
		return DaoHelper.getActivityDaoImpl().getRMBMallActivityInfoMap(activityTypeList, serverId, selectTimeStr);
	}

	public static Map<Integer, List<ActivityConditionInfo>> getOpenCrossRankActivityConditionInfoMap(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getOpenCrossRankActivityConditionInfoMap(activityIdList);
	}

	public static Map<Integer, OreStationInfo> getOreWarStationInfoMap(int activityId){
		return DaoHelper.getActivityDaoImpl().getOreWarStationInfoMap(activityId);
	}


	public static Map<Integer, CrossOreStationInfo> getCrossOreWarStationInfoMap(int activityId){
		return DaoHelper.getActivityDaoImpl().getCrossOreWarStationInfoMap(activityId);
	}

	public static Map<Integer, Map<Integer, ActivityCatMerge>> getActivityCatMergeInfoMap(List<Integer> activityIdList){
		return DaoHelper.getActivityDaoImpl().getActivityCatMergeInfoMap(activityIdList);
	}

	public static List<Integer> getActivityIgnoreList(long serverId){
		return DaoHelper.getActivityIgnoreDaoImpl().getActivityIgnoreList(serverId);
	}

	public static Map<Integer, List<TreasureActivityPlace>> getActivityPlaceMapInfoMap(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getActivityPlaceMapInfoMap(activityIdList);
	}


	public static Map<Integer, Map<Integer, PicturesComb>> getPicturesCombConfigMap(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getPicturesCombConfigMap(activityIdList);
	}

	public static Map<Integer, Map<Integer, PicturesWeight>> getPicturesWeightConfigMap(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getPicturesWeightConfigMap(activityIdList);
	}

	public static Map<Integer, ActivityInfo> getOpenCrossRankActivityInfoMapByCrossServerId(List<Integer> activityTypeList, String nowTimeStr, long crossServerId) {
		return DaoHelper.getActivityDaoImpl().getOpenCrossRankActivityInfoMapByCrossServerId(activityTypeList, nowTimeStr,crossServerId);
	}

	public static Map<Integer,Map<Integer,CrossActivityDetail>> getCrossActivityDetailMap(List<Integer> activityIdList) {
		return DaoHelper.getCrossActivityDetailDaoImpl().getCrossActivityDetailMap(activityIdList);
	}

	public static boolean addCrossActivityDetail(CrossActivityDetail crossActivityDetail) {
		return DaoHelper.getCrossActivityDetailDaoImpl().add(crossActivityDetail);
	}

	public static boolean updateCrossActivityDetail(CrossActivityDetail crossActivityDetail) {
		return DaoHelper.getCrossActivityDetailDaoImpl().update(crossActivityDetail);
	}


	public static Map<Integer, ActivityInfo> getExpireActivityInfoMapByType(long serverId, int type, int childType) {
		return DaoHelper.getActivityDaoImpl().getExpireActivityInfoMapByType(serverId, type, childType);
	}

	//小当家配置
	public static Map<Integer,Map<String, CookBoyConfig>> getCookBoyActivityConfig(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getCookBoyActivityConfig(activityIdList);
	}
	//小当家1成品食材配置
	public static Map<Integer,Map<Integer, CookBoyFoodConfig>> getCookBoyActivityFoodConfig(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getCookBoyActivityFoodConfig(activityIdList);
	}

	//小当家2成品挑菜配置
	public static Map<Integer,Map<Integer, CookBoy2DishConfig>> getCookBoy2ActivityDishConfig(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getCookBoy2ActivityDishConfig(activityIdList);
	}

	public static List<PalaceFloorConfig> getPalaceFloorConfigList(int activityId) {
		return DaoHelper.getActivityDaoImpl().getPalaceFloorConfigList(activityId);
	}
	public static Map<Integer, PalaceFloorConfig> getPalaceFloorConfigMap(int activityId) {
		return DaoHelper.getActivityDaoImpl().getPalaceFloorConfigMap(activityId);
	}

	public static Map<Integer, List<ActivityTableExt>> getActivityTableExtMap(List<Integer> activityIdList) {
		return DaoHelper.getActivityDaoImpl().getActivityTableExtMap(activityIdList);
	}

	public static Map<Integer, ActivityInfo> getActivityInfoMap(eActivityType activityType, String nowStr, long crossServerId) {
		return DaoHelper.getActivityDaoImpl().getOpenActivityInfoMap(activityType, nowStr, crossServerId);
	}

	public static Map<Integer, ActivityInfo> getActivityInfoMapByType(int type, int childType) {
		return DaoHelper.getActivityDaoImpl().getActivityInfoMapByType(type, childType);
	}
	public static Map<Integer, ActivityInfo> getActivityInfoMap(eActivityType activityType, int childType, String nowStr) {
		return DaoHelper.getActivityDaoImpl().getOpenActivityInfoMap(activityType, childType, nowStr);
	}

	public static Set<Long> getAllOpenServerListByActivityType(int activityType, String selectTimeStr) {
		return DaoHelper.getActivityDaoImpl().getAllOpenServerListByActivityType(activityType, selectTimeStr);
	}

	// 全服团购
	public static Map<Integer, SnowGardenBuyConfig> getServerBuyMallConfig(int activityId) {
		return DaoHelper.getActivityDaoImpl().getServerBuyMallConfig(activityId);
	}
}
